package com.example.nophase.entity;

import com.example.nophase.common.ApiModelProperty;
import com.fasterxml.jackson.annotation.JsonFormat;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

public class TyBusinessAppDto {

    @ApiModelProperty(value = "申请类型(区域申请/职能部门)")
    private String appType;
    /**
     * 申请原因说明
     */
    @ApiModelProperty(value = "申请原因说明")
    private String appReason;
    /**
     * 申请人id
     */
    @ApiModelProperty(value = "申请人id")
    private String appUserid;

    /**
     * 申请人电话
     */
    @ApiModelProperty(value = "申请人电话")
    private String appUsertel;
    /**
     * 申请人姓名
     */
    @ApiModelProperty(value = "申请人姓名")
    private String appUserName;
    /**
     * 申请日期
     */
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "申请日期")
    private Date appDate;


    @ApiModelProperty(value = "是否有发票")
    private String invoice;
    /**
     * 版本号
     */
    @ApiModelProperty(value = "版本号")
    private Integer version;
    /**
     * 业务申请单编号
     */
    @ApiModelProperty(value = "业务申请单编号")
    private String businessNo;
    /**
     * 申请总金额
     */
    @ApiModelProperty(value = "申请总金额")
    private BigDecimal appMoney;
    /**
     * 申请分公司/部门
     */
    @ApiModelProperty(value = "申请分公司/部门")
    private String appCompany;
    /**
     * 实际字符总金额
     */
    @ApiModelProperty(value = "实际字符总金额")
    private BigDecimal auditMoney;
    /**
     * 申请区域/组
     */

    @ApiModelProperty(value = "申请区域/组")
    private String appRegion;
    /**
     * 申请公司/部门id
     */

    @ApiModelProperty(value = "申请公司/部门id")
    private Integer appCompanyId;
    /**
     * 申请区域/组id
     */

    @ApiModelProperty(value = "申请区域/组id")
    private Integer appRegionId;
    /**
     * 年初限额区域
     */

    @ApiModelProperty(value = "年初限额区域")
    private BigDecimal regionLimitYear;
    /**
     * 累计发生额
     */

    @ApiModelProperty(value = "累计发生额")
    private BigDecimal moneyAdd;
    /**
     * 区域审核人id
     */

    @ApiModelProperty(value = "区域/部门负责审核人uuid")
    private String regionUserid;
    /**
     * 中心外联审核人id
     */

    @ApiModelProperty(value = "中心外联审核人uuid")
    private String centerUserid;
    /**
     * 子公司经理审核id
     */

    @ApiModelProperty(value = "子公司经理/副总审核uuid")
    private String subCompanyManagerid;
    /**
     * 公司总id
     */
    @ApiModelProperty(value = "公司总uuid")
    private String companyManagerid;
    /**
     * 财务id
     */
    @ApiModelProperty(value = "财务uuid")
    private String accounterid;

    /**
     * 财务id
     */
    @ApiModelProperty(value = "财务姓名")
    private String accounterName;


    @ApiModelProperty(value = "工资组是否确认")
    private Integer isGzzAudit;

    @ApiModelProperty(value = "财务最终状态[未处理/已支付/已报销]")
    private String accoutFinalStatus;

    @ApiModelProperty(value = "财务批付金额")
    private BigDecimal financeAudltMoney;

    @ApiModelProperty(value = "公司年初限额")
    private BigDecimal limitMoney;


    @ApiModelProperty(value = "公司累计发生金额")
    private BigDecimal totalMoney;

    @ApiModelProperty(value="是否需要总经理审核",notes="是否需要总经理审核")
    private Boolean managerAudit;

    /**
     * 限额类型
     */
    @ApiModelProperty(value = "限额类型(分公司/区域)")
    private String limitType;

    /**
     * 工资组uuid
     */
    @ApiModelProperty(value = "工资组uuid")
    private String gzzUuid;

    @ApiModelProperty(value = "工资组审核状态")
    private String gzzStatus;

    /**
     * 工资组姓名
     */
    @ApiModelProperty(value = "工资组姓名")
    private String gzzUserName;

    private List<TyBusinessAppDetail> tyBusinessAppDetails;


    public String getAppType() {
        return appType;
    }

    public void setAppType(String appType) {
        this.appType = appType;
    }

    public String getAppReason() {
        return appReason;
    }

    public void setAppReason(String appReason) {
        this.appReason = appReason;
    }

    public String getAppUserid() {
        return appUserid;
    }

    public void setAppUserid(String appUserid) {
        this.appUserid = appUserid;
    }

    public String getAppUsertel() {
        return appUsertel;
    }

    public void setAppUsertel(String appUsertel) {
        this.appUsertel = appUsertel;
    }

    public String getAppUserName() {
        return appUserName;
    }

    public void setAppUserName(String appUserName) {
        this.appUserName = appUserName;
    }

    public Date getAppDate() {
        return appDate;
    }

    public void setAppDate(Date appDate) {
        this.appDate = appDate;
    }

    public String getInvoice() {
        return invoice;
    }

    public void setInvoice(String invoice) {
        this.invoice = invoice;
    }

    public Integer getVersion() {
        return version;
    }

    public void setVersion(Integer version) {
        this.version = version;
    }

    public String getBusinessNo() {
        return businessNo;
    }

    public void setBusinessNo(String businessNo) {
        this.businessNo = businessNo;
    }

    public BigDecimal getAppMoney() {
        return appMoney;
    }

    public void setAppMoney(BigDecimal appMoney) {
        this.appMoney = appMoney;
    }

    public String getAppCompany() {
        return appCompany;
    }

    public void setAppCompany(String appCompany) {
        this.appCompany = appCompany;
    }

    public BigDecimal getAuditMoney() {
        return auditMoney;
    }

    public void setAuditMoney(BigDecimal auditMoney) {
        this.auditMoney = auditMoney;
    }

    public String getAppRegion() {
        return appRegion;
    }

    public void setAppRegion(String appRegion) {
        this.appRegion = appRegion;
    }

    public Integer getAppCompanyId() {
        return appCompanyId;
    }

    public void setAppCompanyId(Integer appCompanyId) {
        this.appCompanyId = appCompanyId;
    }

    public Integer getAppRegionId() {
        return appRegionId;
    }

    public void setAppRegionId(Integer appRegionId) {
        this.appRegionId = appRegionId;
    }

    public BigDecimal getRegionLimitYear() {
        return regionLimitYear;
    }

    public void setRegionLimitYear(BigDecimal regionLimitYear) {
        this.regionLimitYear = regionLimitYear;
    }

    public BigDecimal getMoneyAdd() {
        return moneyAdd;
    }

    public void setMoneyAdd(BigDecimal moneyAdd) {
        this.moneyAdd = moneyAdd;
    }

    public String getRegionUserid() {
        return regionUserid;
    }

    public void setRegionUserid(String regionUserid) {
        this.regionUserid = regionUserid;
    }

    public String getCenterUserid() {
        return centerUserid;
    }

    public void setCenterUserid(String centerUserid) {
        this.centerUserid = centerUserid;
    }

    public String getSubCompanyManagerid() {
        return subCompanyManagerid;
    }

    public void setSubCompanyManagerid(String subCompanyManagerid) {
        this.subCompanyManagerid = subCompanyManagerid;
    }

    public String getCompanyManagerid() {
        return companyManagerid;
    }

    public void setCompanyManagerid(String companyManagerid) {
        this.companyManagerid = companyManagerid;
    }

    public String getAccounterid() {
        return accounterid;
    }

    public void setAccounterid(String accounterid) {
        this.accounterid = accounterid;
    }

    public String getAccounterName() {
        return accounterName;
    }

    public void setAccounterName(String accounterName) {
        this.accounterName = accounterName;
    }

    public Integer getIsGzzAudit() {
        return isGzzAudit;
    }

    public void setIsGzzAudit(Integer isGzzAudit) {
        this.isGzzAudit = isGzzAudit;
    }

    public String getAccoutFinalStatus() {
        return accoutFinalStatus;
    }

    public void setAccoutFinalStatus(String accoutFinalStatus) {
        this.accoutFinalStatus = accoutFinalStatus;
    }

    public BigDecimal getFinanceAudltMoney() {
        return financeAudltMoney;
    }

    public void setFinanceAudltMoney(BigDecimal financeAudltMoney) {
        this.financeAudltMoney = financeAudltMoney;
    }

    public BigDecimal getLimitMoney() {
        return limitMoney;
    }

    public void setLimitMoney(BigDecimal limitMoney) {
        this.limitMoney = limitMoney;
    }

    public BigDecimal getTotalMoney() {
        return totalMoney;
    }

    public void setTotalMoney(BigDecimal totalMoney) {
        this.totalMoney = totalMoney;
    }

    public Boolean getManagerAudit() {
        return managerAudit;
    }

    public void setManagerAudit(Boolean managerAudit) {
        this.managerAudit = managerAudit;
    }

    public String getLimitType() {
        return limitType;
    }

    public void setLimitType(String limitType) {
        this.limitType = limitType;
    }

    public String getGzzUuid() {
        return gzzUuid;
    }

    public void setGzzUuid(String gzzUuid) {
        this.gzzUuid = gzzUuid;
    }

    public String getGzzStatus() {
        return gzzStatus;
    }

    public void setGzzStatus(String gzzStatus) {
        this.gzzStatus = gzzStatus;
    }

    public String getGzzUserName() {
        return gzzUserName;
    }

    public void setGzzUserName(String gzzUserName) {
        this.gzzUserName = gzzUserName;
    }

    public List<TyBusinessAppDetail> getTyBusinessAppDetails() {
        return tyBusinessAppDetails;
    }

    public void setTyBusinessAppDetails(List<TyBusinessAppDetail> tyBusinessAppDetails) {
        this.tyBusinessAppDetails = tyBusinessAppDetails;
    }
}
